Android实现对SQLite数据库增删改查(学生管理系统项目) 您所在的位置:网站首页 android studio设计一个小型app Android实现对SQLite数据库增删改查(学生管理系统项目)

Android实现对SQLite数据库增删改查(学生管理系统项目)

2024-07-10 03:45| 来源: 网络整理| 查看: 265

SQLite数据库的使用 上效果:一、介绍二、大致流程1.通过继承SQLiteOpenHelper抽象类,完成对数据库的创建2.进行Sqlite数据增删改查操作3.Sqlite类 总结:

上效果:

在这里插入图片描述

一、介绍

Sqlite是一种轻量级的数据库,它的设计目标是嵌入式的,很多嵌入式的设备使用到了它,它的占用资源非常的低,通常只需要几百K的内存就足够了

二、大致流程 1.通过继承SQLiteOpenHelper抽象类,完成对数据库的创建 2.进行Sqlite数据增删改查操作

常用的SQLite语句: (id,age为字段,user为表名) 添加:insert into user(xx varchar(20),xxx Integer)values(?,?) 删除:delete from user where id=? 修改:update user set age=? where id=? 查询:select * from user where id=? 代码如下MainActivity:

package com.example.zheng.myapplication; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText ed_name,ed_class,ed_age,ed_ID,ed_select_number; private Button btn_insert,btn_select,btn_update,btndelete; private TextView findResult; SQLiteDatabase database; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Init();//初始化控件 SQLite sqLite=new SQLite(this);//实例化对象,对象为初始创建的名称 database = sqLite.getWritableDatabase();//读写操作 } private void Init() { ed_name=findViewById(R.id.ed_name); ed_class=findViewById(R.id.ed_class); ed_age=findViewById(R.id.ed_age); ed_ID=findViewById(R.id.ed_number); ed_select_number=findViewById(R.id.ed_select_number); btn_insert=findViewById(R.id.btn_insert); btn_select=findViewById(R.id.btn_select); btn_update=findViewById(R.id.btn_update); btndelete=findViewById(R.id.btn_delete); findResult=findViewById(R.id.textView); btn_insert.setOnClickListener(this); btndelete.setOnClickListener(this); btn_update.setOnClickListener(this); btn_select.setOnClickListener(this); } @Override public void onClick(View view) { String sql; //这里需要注意一点,敲出来的逗号一定要是英文的,否则会报错 switch (view.getId()) { case R.id.btn_insert://添加 sql="insert into user(name,class,age,number)values(?,?,?,?)";//这里的表名和创建时的对应,字段名称和创建时的对应 database.execSQL(sql,new Object[]{ed_name.getText().toString(),ed_class.getText().toString(),Integer.parseInt(ed_age.getText().toString()), ed_ID.getText().toString()});//Integer.parseInt()是对字符串进行转换,转换为int类型 Toast.makeText(this, "数据添加成功!", Toast.LENGTH_SHORT).show(); break; case R.id.btn_delete://删除 sql="delete from user where number=?"; database.execSQL(sql,new Object[]{ed_ID.getText().toString()}); Toast.makeText(this, "删除成功!", Toast.LENGTH_SHORT).show(); break; case R.id.btn_select://查询 try{ findResult.setText(""); sql="select * from user where number=?";//查询字段名称number Cursor cursor = database.rawQuery(sql, new String[]{ed_select_number.getText().toString()});//获取一个游标 while(cursor.moveToNext())//判断是否可以移动到下一行 { //获取这一行名称的数据,对应的是添加时的字段(列名称) String s_name=cursor.getString(cursor.getColumnIndex("name")); String s_class=cursor.getString(cursor.getColumnIndex("class")); int i_age=cursor.getInt(cursor.getColumnIndex("age")); String s_ID=cursor.getString(cursor.getColumnIndex("number")); findResult.setText("姓名:"+s_name+"\n"+"班级:"+s_class+"\n"+"年龄:"+i_age+"\n"+"编号:"+s_ID); Toast.makeText(this, "查询成功!", Toast.LENGTH_SHORT).show(); } }catch (Exception e) { e.printStackTrace(); } break; case R.id.btn_update://修改 sql="update user set number=?,name=?,class=?,age=? where number=?";//通过查询编号进行修改 database.execSQL(sql,new Object[]{ed_ID.getText().toString(),ed_name.getText().toString(),ed_class.getText().toString(), Integer.parseInt(ed_age.getText().toString()),ed_select_number.getText().toString()}); Toast.makeText(this, "修改成功!", Toast.LENGTH_SHORT).show(); break; } } }

代码如下activity_main:

3.Sqlite类 package com.example.zheng.myapplication; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class SQLite extends SQLiteOpenHelper { public SQLite(Context context) { super(context, "SQL.db", null, 1); //第一个参数对应的是一个上下文,第二个参数对应的是数据库的名称,第三个参数一般为空就好了,第四个参数对应的是数据库的版本号默认为一就好了 } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) {//创建表 String sql="create table user(name varchar(30),class varchar(30),age Integer,number varchar(30))"; //创建一个表,表的名称叫user这里面会有四个字段,Integer是整形,varchar数据量的大小是根据后面括号进行变化 sqLiteDatabase.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } } 总结:

android官方介绍网址:https://developer.android.google.cn/reference/androidx/sqlite/db/package-summary?hl=zh_cn

工程下载地址: 百度网盘 提取码:1111 GitHub:链接:https://github.com/HWJ-ZHENG/SQLite



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有